温度和浮力
在先前的案例中,我们已经对Catalyst FX的基础制作流程有了一个初步的了解和认识,我们可以发现烟雾模拟效果的一个最基本的运动特征,就是气体会受到浮力作用后,产生翻滚的动态效果。这里温度(temperature)和浮力(buoyancy)是产生该效果的关键,也是自然界中常见的基本概念,在使用Catalyst FX进行流体效果制作的过程中,温度和浮力的控制,始终是最重要的核心环节,所以本章节为一篇较为理论性的物理背景知识介绍,这里我们首先回顾一下在物理学中有关温度的定义。
温度
在物理学中,温度的单位由开尔文(K) 来表示。而温度的定义,可以从很多角度来解释。这里由于Catalyst FX 是一款气体流体解算器,所以讨论一下气体的温度,我们可以从体积的视角来看温度的定义,即:温度大小直接决定了气体体积的大小,温度和气体体积直接的关系,是线性的。
举个例子,如果在压力不变的前提下,气体的温度升高,那么它的体积也会变大。反之亦然,如果气体的温度减半,也会导致气体的体积减半。
这样也就很容易的得到了绝对零度的定义:随着温度的不断降低,气体的体积也会不断缩小。最后,只要温度足够低, 那么理想气体的体积也会降低至 0,而此时的理论温度,就是 -273.15 °C。由于体积为0的情况,在现实物理世界中是不会发生的,所以,绝对零度 0开尔文 (-273.15°C),是一个从数学层面上推导的理论最低温度,实际上温度只会无限逼近这个数值,而不可能达到这个数值。
而这种关于温度和体积之间关系的描述,最早由法国科学家雅克·亚历山大·塞萨尔·查理(Jacques Alexandre César Charles)提出,所以现在在物理学中,温度和体积之间的关系,通常在理想气体的条件下,被描述为查理定律(Charles's Law)
浮力 Buoyancy
在了解了温度和体积之间的关系以后,我们再来了解浮力(Buoyancy)的作用,就很容易理解。
这里我们从日常生活中,最常见的现象油可以浮在水面上这个现象入手进行分析,油之所以可以浮在水面上,是因为油的密度比水低,所以受到了水的浮力,那么同样的原理对于气体来说,高温气体由于体积变大密度降低,从而最终受到了密度大于自己的低温气体的浮力,在同一场景中,高温气体往往相比低温气体更容易获得较大的浮力和翻滚动力。
所以在Catalyst FX 的效果调整中,控制温度(Temperature)是最有效影响流体浮力大小的手段,流体计算的温度场和流体所受到的浮力是正相关的,温度场的数值越高,则代表了给流体提供的浮力越大。
发射温度提高浮力
通过发射器直接发射温度获得浮力,是最常被使用的方法,在我们的发射器参数面板上的 Temperature 场选项,用来控制 temperature 的发射强度,数值越大表示发射器给温度场提供的温度越高,这里我们看一个基于多个发射器制作的爆炸效果对比测试,以便更直观的理解温度对浮力的影响。

如图(上):当前的爆炸效果一共使用了3个发射器进行燃料和温度的发射来产生最终的爆炸反应效果。发射器(A,B,C)的激活时间先后,存在一定幅度的偏差,用来控制最终的爆炸的效果更有节奏,其中发射器B设置了较高的温度发射数值,用来给整个爆炸的中心区域提供额外的翻滚动力,而发射器A则设置了较低的温度发射效果,用来减弱局部区域的浮力作用强度和翻滚动力,最终使得整个爆炸的外轮廓有较大的整体起伏波动(大形控制)。
而如果当前的案例关闭发射器的温度发射差异调节,使用数值完全相同的温度,燃料发射强度进行模拟时,则会得到整体大形较为平整的效果

如图(上):左侧为A,B,C发射器设置完全一样的温度发射强度所得到的效果,可以发现爆炸的整体外轮廓过于平整,这会导致画面缺乏节奏和层次,这个时候仅需简单的对A,B,C发射器设置不同的温度发射强度,就可以破坏掉这过于规整的动态效果,产生丰富的动态层次(右)。